﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using OptymalizatorTrasy.SerwerKomunikacyjnyChmura;
using System.Diagnostics;
using System.ServiceModel;

namespace OptymalizatorTrasy
{
    public class ConverterService
    {
        private SerwerKomunikacyjnyClient client;
        private Converter cv;
        private BasicHttpBinding binding = new BasicHttpBinding();

        public ConverterService(Converter cv){
            this.cv = cv;
            binding.MaxReceivedMessageSize = 2147483647;
            binding.MaxBufferSize = 2147483647;
            binding.TextEncoding = System.Text.Encoding.UTF8;

        }


        public String tekstNaMowe(String tekst) //TU CHYBA NIC NIE BEDZIE ZWRACALO< TAK MAM W DOKUMENTACJI
        {
            String odpowiedz = "";

            odpowiedz = tekst;

            return odpowiedz;
        }

        public void mowaNaTekst(String mowa)
        {
            
           if (client == null)
            {
               // client = new SerwerKomunikacyjnyClient(binding, new EndpointAddress("http://localhost:52457/SerwerKomunikacyjny/SerwerKomunikacyjnyService.svc"));
               client = new SerwerKomunikacyjnyClient(binding, new EndpointAddress("http://153.19.223.98:8000/SerwerKomunikacyjnyService.svc"));
           
                client.przeksztalcNaTekstCompleted += new EventHandler<przeksztalcNaTekstCompletedEventArgs>(client_AddCompleted);
            
           }
           
           client.przeksztalcNaTekstAsync(mowa);
        }


        void client_AddCompleted(object sender, przeksztalcNaTekstCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                if (e.Result == "Proszę powtórz") MessageBox.Show(e.Result);

                cv.wykonajAkcjePo(e.Result); //wykonanie wszystkich akcji związanych z instancją klasy
               
            }
        }

    }
}
